The variable angular speed of a machine means that angle-based data (that is to say position-related data occurring as a function of the angular position of the machine) has a variable time-based repetition rate. Known data processors for such machines require intensive processor and memory resources.
An example of a machine whose speed fluctuates is an internal combustion engine. For an internal combustion piston-and-cylinder engine, optimal operating parameters such as cylinder filling and burn characteristics are functions of the instantaneous pressure in the cylinder, which is a function of the angular-position of the crank-shaft. It is possible to control such parameters in response to a pressure signal from a pressure sensor in the cylinder.
For example, engine manufacturers use such pressure sensors in the cylinders to determine initial calibration in dynamometer cells. An example of a method of obtaining, for the purpose of analysis, real-time engine knock data derived from an operating internal combustion engine is described in US Patent Application 20060206254.
Theoretically, a system of this kind could be applied in a commercialised vehicle. However, practical difficulties have so far presented obstacles to such commercial applications, so that production vehicles use sensors of parameters such as mass air flow and air temperature along with an engine model to estimate cylinder filling and burn characteristics instead of cylinder pressure sensors, with results that are sub-optimal.
Among the practical difficulties encountered are that the pressure signal from a pressure sensor is small and noisy. Accordingly, filtering is required to clean up the pressure signal, using a filter having a low pass or band pass frequency characteristic. However, running a fixed frequency filter on variable speed and time repetition rate data is mathematically complex and uses processor resources intensively.
Instead of running a fixed frequency filter on variable time repetition rate data, the pressure signal can be sampled at regular time intervals. This makes the frequency filter straightforward and also may suit knock detection since knock is a frequency based signal. However, the data then needs to be converted into crankshaft angle based results for calculation of engine parameters. Conversion of time-based signals to results related to crankshaft angle accurately and precisely is again mathematically complex and uses processor resources intensively. In addition this conversion requires large quantities of system random access memory (‘RAM’) for buffering the time based data.
In addition, the rotational speed of an internal combustion engine is not constant during the combustion cycle (720° in a four-stroke engine) but fluctuates during the course of a revolution, with accelerations and decelerations. The calculations to determine engine parameters are based on the crankshaft angle but these angular-position-related intervals do not occur with a constant repetition rate in the time domain, because of the variable and fluctuating engine speed.
Similar problems are encountered in processing position-related input data from other machines whose speed is variable.